package com.flying.invest.discovery.model;

import java.util.Date;

import com.flying.common.util.Codes;
import com.flying.framework.data.Data;
import com.flying.framework.annotation.Param;
import com.flying.framework.data.DataSerializable;
import com.flying.framework.metadata.Meta;

@SuppressWarnings("serial")
@Meta(id="i_discovery",title="发现", table="i_discovery", primaryKeys={"discovery_id"})
public class Discovery extends Data implements DataSerializable {
	public final static String ENTITY_NAME = "i_discovery";
	
	public final static String DISCOVERY_ID = "discovery_id";
	public final static String INHERITED_ID = "inherited_id";
	public final static String USER_ID = "user_id";
	public final static String TYPE_ID = "type_id";
	public final static String NAME = "name";
	public final static String REMARKS = "remarks";
	public final static String ASSETS_TYPE_ID = "assets_type_id";
	public final static String STATUS = "status";
	public final static String LAST_EXECUTE = "last_execute";
	public final static String CREATOR = "creator";
	public final static String CREATE_TIME = "create_time";
	public final static String UPDATOR = "updator";
	public final static String UPDATE_TIME = "update_time";
	
	
	@Param(value=DISCOVERY_ID, required=true, desc="发现ID" , generator=Codes.AUTO_INCREMENT)
	private Long discoveryId;
	
	@Param(value=INHERITED_ID, required=false, desc="继承发现ID" )
	private Long inheritedId;
	
	@Param(value=USER_ID, required=true, desc="所属用户" )
	private Long userId;
	
	@Param(value=TYPE_ID, required=true, desc="类型ID" )
	private Long typeId;
	
	@Param(value=NAME, required=true, maxlength=50, desc="名称" )
	private String name;
	
	@Param(value=REMARKS, required=false, maxlength=400, desc="说明" )
	private String remarks;
	
	@Param(value=ASSETS_TYPE_ID, required=true, desc="投资品种类型" )
	private Long assetsTypeId;
	
	@Param(value=STATUS, required=false, desc="状态（0：无效；1：有效）" )
	private Integer status;
	
	@Param(value=LAST_EXECUTE, required=false, desc="最近执行时间" )
	private Date lastExecute;
	
	@Param(value=CREATOR, required=false, maxlength=40, desc="创建人" )
	private String creator;
	
	@Param(value=CREATE_TIME, required=false, desc="创建时间" )
	private Date createTime;
	
	@Param(value=UPDATOR, required=false, maxlength=40, desc="修改人" )
	private String updator;
	
	@Param(value=UPDATE_TIME, required=false, desc="修改时间" )
	private Date updateTime;
	
	
	public Long getDiscoveryId() {
		return this.discoveryId;
	}
	
	public void setDiscoveryId(Long discoveryId) {
		this.discoveryId = discoveryId;
	}
	
	public Long getInheritedId() {
		return this.inheritedId;
	}
	
	public void setInheritedId(Long inheritedId) {
		this.inheritedId = inheritedId;
	}
	
	public Long getUserId() {
		return this.userId;
	}
	
	public void setUserId(Long userId) {
		this.userId = userId;
	}
	
	public Long getTypeId() {
		return this.typeId;
	}
	
	public void setTypeId(Long typeId) {
		this.typeId = typeId;
	}
	
	public String getName() {
		return this.name;
	}
	
	public void setName(String name) {
		this.name = name;
	}
	
	public String getRemarks() {
		return this.remarks;
	}
	
	public void setRemarks(String remarks) {
		this.remarks = remarks;
	}
	
	public Long getAssetsTypeId() {
		return this.assetsTypeId;
	}
	
	public void setAssetsTypeId(Long assetsTypeId) {
		this.assetsTypeId = assetsTypeId;
	}
	
	public Integer getStatus() {
		return this.status;
	}
	
	public void setStatus(Integer status) {
		this.status = status;
	}
	
	public Date getLastExecute() {
		return this.lastExecute;
	}
	
	public void setLastExecute(Date lastExecute) {
		this.lastExecute = lastExecute;
	}
	
	public String getCreator() {
		return this.creator;
	}
	
	public void setCreator(String creator) {
		this.creator = creator;
	}
	
	public Date getCreateTime() {
		return this.createTime;
	}
	
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	
	public String getUpdator() {
		return this.updator;
	}
	
	public void setUpdator(String updator) {
		this.updator = updator;
	}
	
	public Date getUpdateTime() {
		return this.updateTime;
	}
	
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	

}